Computer-implemented systems and methods for a user-controllable parameter

ABSTRACT

Systems and methods are provided for operating a user-controllable parameter. An item pool is accessed, where the item pool contains a plurality of items, and where each item is associated with a parameter. A baseline position is identified, where the baseline position is associated with a particular value of the parameter. A user-controllable parameter is received, where the user-controllable parameter indicates a user preference for a next item relative to the baseline position. The next item is selected based on the baseline position and the user-controllable parameter, and the next item is provided via a computer network.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.16/789,636, filed Feb. 13, 2020, which is a continuation of U.S. patentapplication Ser. No. 16/399,000, filed Apr. 30, 2019, which is acontinuation of U.S. patent application Ser. No. 14/677,040, filed Apr.2, 2015, entitled “Computer-Implemented Systems and Methods forProviding Content Based on a User-Controllable AdventurousnessParameter,” all of which are incorporated herein by reference in theirentireties.

TECHNICAL FIELD

This document relates generally to content distribution and moreparticularly to providing content to a user based on a user-controllablepreference parameter.

BACKGROUND

As Internet bandwidth capabilities increase, on-demand content providing(e.g., video, audio, image content) continues to grow in popularity. Aplatform's ability to entice users to adopt and continue to use thatplatform's content providing capabilities is largely based on theplatform's ability to consistently provide users with content thatmatches their tastes. This becomes especially challenging when users'tastes can vary from day to day and even minute to minute, such as basedon changing mood, time of day, or other stimulus.

SUMMARY

In accordance with the teachings herein, systems and methods areprovided for providing content to a user based on a user-controllableadventurousness parameter. A content pool is accessed, where the contentpool contains a plurality of content items, and where each content itemis associated with a content parameter. A baseline position isidentified, where the baseline position is associated with a particularvalue of the content parameter. A user-controllable adventurousnessparameter is received, where the adventurousness parameter indicates auser preference for a next content item relative to the baselineposition. The next content item is selected based on the baselineposition and the adventurousness parameter, and the next content item isprovided via a computer network.

As another example, a system for providing content to a user based on auser-controllable adventurousness parameter includes one or more dataprocessors and a computer-readable medium encoded with instructions forcommanding the one or more data processors to execute steps. In thesteps, a content pool is accessed, where the content pool contains aplurality of content items, and where each content item is associatedwith a content parameter. A baseline position is identified, where thebaseline position is associated with a particular value of the contentparameter. A user-controllable adventurousness parameter is received,where the adventurousness parameter indicates a user preference for anext content item relative to the baseline position. The next contentitem is selected based on the baseline position and the adventurousnessparameter, and the next content item is provided via a computer network.

As a further example, a computer-readable medium is encoded withinstructions for commanding one or more data processors to execute amethod of providing content to a user based on a user-controllableadventurousness parameter. In the method, a content pool is accessed,where the content pool contains a plurality of content items, and whereeach content item is associated with a content parameter. A baselineposition is identified, where the baseline position is associated with aparticular value of the content parameter. A user-controllableadventurousness parameter is received, where the adventurousnessparameter indicates a user preference for a next content item relativeto the baseline position. The next content item is selected based on thebaseline position and the adventurousness parameter, and the nextcontent item is provided via a computer network.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 is a block diagram depicting a computer-implemented contentselection engine.

FIG. 2 is a diagram depicting an example interface for entering anadventurousness parameter.

FIG. 3 is a diagram depicting an example content spectrum associatedwith content items in a pool of content items.

FIG. 4 is a block diagram depicting selection of content by a contentselection engine using a two dimensional spectrum.

FIG. 5 is a diagram depicting a two dimensional spectrum for use with aBoolean adventurous/non-adventurous-type user preference parameter.

FIG. 6 is a diagram depicting a two dimensional spectrum having abaseline position set based on a center of mass of a plurality of otherpositions on the spectrum.

FIG. 7 is a diagram depicting a two dimensional spectrum where a nextcontent item is selected based on one or more baseline positions.

FIG. 8 is a diagram depicting an adventurous parameter selecting slidebar.

FIG. 9 is a diagram depicting another user interface for entering anadventurous parameter value, where the adventurousness parameter isentered numerically, such as via a keyboard.

In FIGS. 10A, 10B, and 10C, computer readable memories or data storesmay include one or more data structures for storing and associatingvarious data used in the example systems for providing content to auser.

DETAILED DESCRIPTION

FIG. 1 is a block diagram depicting a computer-implemented contentselection engine. A content selection engine 102 is configured toprovide content items 104, such as music, video, images, or literature,to a user based on a baseline position 106 and a user entered preferenceparameter 108 (e.g., an adventurousness parameter). The baselineposition 106, in one embodiment, is a position on a spectrum of one ormore content metrics. The spectrum may be one dimensional ormulti-dimensional, as described further herein. The baseline position106 may be based on user preference. That user preference can bedirectly entered by the user via a user interface (e.g., the user entersa preferred genre and time period for music), may be derived from userindications of preference (e.g., the user's preferred literary type(fiction, non-fiction), time period (new, classics), and subject arederived from the last n books that the user has “Liked” or otherwiseindicated a preference), or may be based on a current content item(e.g., the video type (sit-com, documentary, reality), language, andtime period of a current or last video provided to the user).

The preference parameter 108 indicates a user's current preferencerelative to the baseline position 106. In one embodiment, the preferenceparameter 108 can be adjusted in real time such that the contentselection engine 102 selects a next content item 104 to be provided tothe user according to a current setting of the preference parameter 108.In one example, the preference parameter 108 is an adventurousnessparameter. The adventurousness parameter indicates the user's preferencefor a next content item 104 to deviate from the baseline position. Wherethe baseline parameter 106 indicates adult-contemporary music from the1980s, an adventurousness parameter 108 value indicating a high degreeof adventurousness might result in a 2000s heavy metal song beingoutputted as a next content item 104. In contrast, when theadventurousness parameter 108 indicates a low degree of adventurousness,the next content item 104 output may be very near the baseline position106, such as an adult-contemporary 1980s song.

The computer-implemented content selection engine 102 interacts with acontent pool 110 to select a next content item 104 to be provided to auser, such as via a computer network or a wireless network. The contentselection engine 102 takes the baseline position 106 and theadventurousness parameter 108 into account in selecting a next contentitem 104 to be provided. For example, when the user enters a low-leveladventurousness parameter 108, the content selection engine 102 mayselect a song near the baseline position 106 (e.g., randomly from acollection of songs less than a threshold distance from the baselineposition 106) to be accessed from the content pool 110 and output at104. Positions of content in the content pool on the spectrum aredetermined using metadata stored in the content pool 110 as contentparameter values. Content parameter values may include a date, a genre,a creator, a sex of a performer, or a content type (e.g., fiction,non-fiction).

FIG. 2 is a diagram depicting an example interface for entering anadventurousness parameter. The user interface 202 takes the form of aslide bar that ranges from not adventurous on the left hand side of theslide bar to adventurous on the right hand side of the slide bar. Theuser interface 202 can be provided via a graphical user interface, suchas for interaction via a mouse, a keyboard, or a touch screen. Inanother embodiment, the user interface is presented as a physical slidebar (e.g., a physical control on a radio) that enables mechanical handmanipulation and translation of position into a value that can be usedby a content selection engine. In the example of FIG. 2 , theadventurousness parameter is selectable from a range of values (e.g.,from 0.0-1.0; 0-10; 0-100; 0-1000) ranging from an indication of notadventurous to an indication of adventurous. In another example, theuser interface may allow a two value Boolean (e.g., 0-1) selection,where 0 indicates not adventurous, and 1 represents adventurous. Thecontent selection engine is configured to select a next content item tobe provided to a user based on a baseline position and theadventurousness parameter value inputted by the user, such as via userinterface 202.

FIG. 3 is a diagram depicting an example content spectrum associatedwith content items in a pool of content items. FIG. 3 depicts a onedimensional spectrum 302 that is based on a first parameter. In anexample, the first parameter is a video genre parameter. In thatexample, the spectrum ranges from fantasy at the left end of thespectrum to documentary on the right end of the spectrum. Differentgenres along the spectrum may be assigned different numerical values(e.g., fantasy=0; adventure=20; horror=40; comedy=60; reality=80;documentary=100). These values can be used to determine distances from abaseline position 304. In the example of FIG. 3 , the user has indicateda preference near the midpoint of the first parameter spectrum 302 forthe baseline position 304. A next content item provided to the user isbased on that baseline position 304 and a value entered by the user forthe adventurousness parameter, such as via the interface of FIG. 2 .

In one embodiment, the next content item provided to the user is basedon the adventurousness parameter value and distances of content items inthe content pool from the baseline position 304. For example, a firstdistance 306 is determined based on an adventurousness parameter valuethat indicates a moderate level of adventurousness. That value indicatesthat the user wishes to deviate somewhat from the baseline position 304but not too much. For example, the first distance 306 could be based onan adventurousness level of 0.4 on a scale of 0 (not adventurous) to 1(adventurous). Based on that adventurousness parameter setting, thecontent selection engine is configured to select a next content itemhaving a first parameter (i.e., genre) that differs from the baselineposition value 304 by exactly or about the determined distance 306.Thus, the content selection engine will select a next content near oneof points 308, 310, such as within a threshold distance (T) from thepoints 308, 310 that are the first distance 306 from the baselineposition 304. In one embodiment, the content selection engine randomlyselects a content item from the pool of content item that has a genreparameter that falls within +/− the threshold distance (T) from thefirst distance 306 points 308, 310. Should the user turn theadventurousness parameter up to a higher value (e.g., 0.9), content thatis further from the baseline position 304 will be selected as a nextcontent item for the user. In the example of FIG. 3 , an adventurousnessparameter of 0.9 corresponds to distance 312. Based on that highadventurousness parameter value, the content selection engine willselect a next content item near one of points 314, 316, such as within+/−T from those points 314, 316. In the example of FIG. 3 , this willresult in the user being provided a next content item that isnear-fantasy or near-documentary, which is far from its baselineposition that is closest to the comedy genre. In one embodiment, thespectrum wraps at its ends, such that traversing to the right beyond thedocumentary genre re-enters the spectrum at the fantasy point on theleft of the spectrum.

FIG. 4 is a diagram depicting selection of content by a contentselection engine using a two dimensional spectrum. A baseline position402 is positioned in an upper left quadrant of a spectrum that includesa genre first parameter spectrum 404 running horizontally and a timeperiod second parameter spectrum 406 running vertically. In the exampleof FIG. 4 , the baseline position 402 is positioned near the 1980s timeperiod and the country music genre. In this example, the baselineposition 402 corresponds with a current or last content item provided tothe user. Thus, the user can use the adventurousness parameter to have anext content item be similar to the current content item or muchdifferent.

A first circle 408 is depicted that is a first radius 410 differenceaway from the baseline position 402. That radius 410 corresponds to anadventurousness parameter value that indicates a relatively low level ofuser-desired adventurousness. Based on that adventurousness parametervalue, a content selection engine will select a next content item forthe user that sits at or near the first circle 408 on the spectrum. Asecond circle 412 is depicted that is a second radius 414 differenceaway from the baseline position 402. That radius corresponds to anadventurousness parameter value that indicates a higher level ofuser-desired adventurousness. Based on that adventurousness parametervalue, a content selection engine will select a next content item forthe user that sits at or near the second circle 412 on the spectrum.

In other embodiments, the spectrum can be three-dimensional orpoly-dimensional based on additional content parameter values. Distancesfrom a baseline position can be calculated based on Pythagoreandistances along the multiple dimensions. For a three-dimensionalspectrum, a particular adventurousness parameter value would berepresented in a three dimensional space by a sphere having a radiusthat corresponds to the particular adventurousness parameter value.

FIG. 5 is a diagram depicting a two dimensional spectrum for use with aBoolean adventurous/non-adventurous-type user preference parameter. Abaseline position 502 sits in the lower right quadrant of a twoparameter spectrum. A user inputs an adventurousness parameter thatindicates either not adventurous or adventurous. If the user selects notadventurous, the content selection engine selects a next content itemfor the user that falls within the circle 504 having a pre-determinedradius 506. If the user selects adventurous, the content selectionengine selects a next content item for the user that is outside of thecircle 506 in the spectrum. In one embodiment, the pool of content itemsis segmented based on the baseline position 502 and the circle 504 suchthat a first portion contains content items that fall within the circle504 and the second portion contains content items that fall outside ofthe circle 506. When the adventurous parameter is set to anon-adventurous value, then the next content item is selected from thefirst segment. When the adventurous parameter is set to an adventurousvalue, then the next content item is selected from the second segment.

FIG. 6 is a diagram depicting a two dimensional spectrum having abaseline position set based on a center of mass of a plurality of otherpositions on the spectrum. In one example, the baseline position 602 ispositioned on the two dimensional spectrum at an average value on thespectrum for the last n content items 604 for which the user indicatedapproval. For example, the baseline position 602 may be based on thespectrum positions 604 of the last three content items that the user“Liked.” That baseline position 602 in other examples may be based onall content items that a user has liked, content items that the user hasliked in the last x days, or the last n content items that the user hasliked, where n is a pre-defined number. Next content items can then beselected based on the baseline position 602 and a user enteredadventurousness parameter that adjusts a spectrum radius that dictatesfrom where the next content item will be selected.

FIG. 7 is a diagram depicting a two dimensional spectrum where a nextcontent item is selected based on one or more baseline positions. In theexample of FIG. 7 , the two baseline positions 702 are indicative of thelast two content items provided to the user. The user enteredadventurousness parameter corresponds to a distance d, where the sum ofthe distances 704, 706 from any point of an ellipse (e.g., ellipse 708)is equal to the distance d (i.e., the baseline positions 702 representfoci of ellipse 708). A higher adventurousness parameter value resultsin a larger ellipse. In other examples, other geometric shapes can beused to define levels of adventurousness from one or more baselinepositions.

FIG. 8 is a diagram depicting an adventurous parameter selecting slidebar. In the example of FIG. 8 , a baseline position is set as amainstream setting for the general population (e.g., a top 40 positionon the spectrum). By selecting near the left of the FIG. 8 spectrum, auser is provided content near that mainstream setting. The right side ofthe slide bar is associated with content that is adventurous for theaverage user. The content selection engine is configured to select anext content item based on that mainstream baseline position and theuser entered adventurousness parameter value.

FIG. 9 is a diagram depicting another user interface for entering anadventurous parameter value, where the adventurousness parameter isentered numerically, such as via a keyboard.

FIGS. 10A, 10B, and 10C depict example systems for implementing theapproaches described herein for providing content to a user based on auser-controllable adventurousness parameter. For example, FIG. 10Adepicts an exemplary system 1000 that includes a standalone computerarchitecture where a processing system 1002 (e.g., one or more computerprocessors located in a given computer or in multiple computers that maybe separate and distinct from one another) includes a content selectionengine 1004 being executed on the processing system 1002. The processingsystem 1002 has access to a computer-readable memory 1007 in addition toone or more data stores 1008. The one or more data stores 1008 mayinclude content items 1010 as well as user entered parameters 1012. Theprocessing system 1002 may be a distributed parallel computingenvironment, which may be used to handle very large-scale data sets.

FIG. 10B depicts a system 1020 that includes a client-serverarchitecture. One or more user PCs 1022 access one or more servers 1024running a content selection engine 1037 on a processing system 1027 viaone or more networks 1028. The one or more servers 1024 may access acomputer-readable memory 1030 as well as one or more data stores 1032.The one or more data stores 1032 may include content items 1034 as wellas user parameters 1038.

FIG. 10C shows a block diagram of exemplary hardware for a standalonecomputer architecture 1050, such as the architecture depicted in FIG.10A that may be used to include and/or implement the programinstructions of system embodiments of the present disclosure. A bus 1052may serve as the information highway interconnecting the otherillustrated components of the hardware. A processing system 1054 labeledCPU (central processing unit) (e.g., one or more computer processors ata given computer or at multiple computers), may perform calculations andlogic operations required to execute a program. A non-transitoryprocessor-readable storage medium, such as read only memory (ROM) 1058and random access memory (RAM) 1059, may be in communication with theprocessing system 1054 and may include one or more programminginstructions for performing the method of providing content to a userbased on a user-controllable adventurousness parameter. Optionally,program instructions may be stored on a non-transitory computer-readablestorage medium such as a magnetic disk, optical disk, recordable memorydevice, flash memory, or other physical storage medium.

In FIGS. 10A, 10B, and 10C, computer readable memories 1008, 1030, 1058,1059 or data stores 1008, 1032, 1083, 1084, 1088 may include one or moredata structures for storing and associating various data used in theexample systems for providing content to a user. For example, a datastructure stored in any of the aforementioned locations may be used tostore data from XML files, initial parameters, and/or data for othervariables described herein. A disk controller 1090 interfaces one ormore optional disk drives to the system bus 1052. These disk drives maybe external or internal floppy disk drives such as 1083, external orinternal CD-ROM, CD-R, CD-RW or DVD drives such as 1084, or external orinternal hard drives 1085. As indicated previously, these various diskdrives and disk controllers are optional devices.

Each of the element managers, real-time data buffer, conveyors, fileinput processor, database index shared access memory loader, referencedata buffer and data managers may include a software application storedin one or more of the disk drives connected to the disk controller 1090,the ROM 1058 and/or the RAM 1059. The processor 1054 may access one ormore components as required.

A display interface 1087 may permit information from the bus 1052 to bedisplayed on a display 1080 in audio, graphic, or alphanumeric format.Communication with external devices may optionally occur using variouscommunication ports 1082.

In addition to these computer-type components, the hardware may alsoinclude data input devices, such as a keyboard 1079, or other inputdevice 1081, such as a microphone, remote control, pointer, mouse and/orjoystick.

Additionally, the methods and systems described herein may beimplemented on many different types of processing devices by programcode comprising program instructions that are executable by the deviceprocessing subsystem. The software program instructions may includesource code, object code, machine code, or any other stored data that isoperable to cause a processing system to perform the methods andoperations described herein and may be provided in any suitable languagesuch as C, C++, JAVA, for example, or any other suitable programminglanguage. Other implementations may also be used, however, such asfirmware or even appropriately designed hardware configured to carry outthe methods and systems described herein.

The systems' and methods' data (e.g., associations, mappings, datainput, data output, intermediate data results, final data results, etc.)may be stored and implemented in one or more different types ofcomputer-implemented data stores, such as different types of storagedevices and programming constructs (e.g., RAM, ROM, Flash memory, flatfiles, databases, programming data structures, programming variables,IF-THEN (or similar type) statement constructs, etc.). It is noted thatdata structures describe formats for use in organizing and storing datain databases, programs, memory, or other computer-readable media for useby a computer program.

The computer components, software modules, functions, data stores anddata structures described herein may be connected directly or indirectlyto each other in order to allow the flow of data needed for theiroperations. It is also noted that a module or processor includes but isnot limited to a unit of code that performs a software operation, andcan be implemented for example as a subroutine unit of code, or as asoftware function unit of code, or as an object (as in anobject-oriented paradigm), or as an applet, or in a computer scriptlanguage, or as another type of computer code. The software componentsand/or functionality may be located on a single computer or distributedacross multiple computers depending upon the situation at hand.

While the disclosure has been described in detail and with reference tospecific embodiments thereof, it will be apparent to one skilled in theart that various changes and modifications can be made therein withoutdeparting from the spirit and scope of the embodiments. For example,while the systems and methods as described herein are described withreference to audio, text, image, and video content, the systems andmethods can be expanded to provide content based on user preferences forother content such as dating (spectrums based on height, race, religion,interests) or pornography. Thus, it is intended that the presentdisclosure cover the modifications and variations of this disclosureprovided they come within the scope of the appended claims and theirequivalents.

It is claimed:
 1. A computer-implemented method, comprising: accessingan item pool, wherein the item pool contains data associated with aplurality of items, wherein each item is associated with a firstparameter and a second parameter; identifying a baseline position,wherein the baseline position is associated with a particular value ofthe first parameter and a particular value of the second parameter;receiving a user-controllable parameter via a user interface, whereinthe user-controllable parameter indicates a user preference for a nextitem's Euclidean distance from the baseline position, wherein one ormore thresholds are determined based on the user-controllable parameter,the one or more thresholds being proportional to an adventurousness ofthe user as indicated by the user-controllable parameter; selecting thenext item based on the baseline position and the user-controllableparameter, wherein selecting the next item comprises: determining aEuclidean distance between the baseline position items in the item poolbased on the first parameter, the second parameter, and the baselineposition, wherein determining a particular Euclidean distance for aparticular item comprises: determining a first parameter distance basedon the baseline's first parameter and the particular item's firstparameter, determining a second parameter distance based on thebaseline's second parameter and the particular item's second parameter,and determining the Euclidean distance for the particular item based onthe first parameter distance and the second parameter distance; whereinthe next item is selected based on that item's Euclidean distance fromthe baseline position items being less than a predetermined distancefrom a particular one of the one or more thresholds; and transmittingdata associated with the next item across a computer network.
 2. Themethod of claim 1, wherein the baseline position is based on a currentor recent item that has been provided via the computer network.
 3. Themethod of claim 1, wherein the baseline position is based on a userpreference.
 4. The method of claim 3, wherein the user preference isexplicitly entered by a user.
 5. The method of claim 3, furthercomprising: receiving one or more indications from a user that the userapproved of one or more items; and computing the baseline position basedon parameters associated with the one or more items.
 6. The method ofclaim 1, wherein the user-controllable parameter is a Boolean,adventurous/not adventurous parameter.
 7. The method of claim 1, whereinthe user-controllable parameter is on a scale from not adventurous toadventurous having more than two possible values.
 8. The method of claim1, further comprising: determining a target value based on theuser-controllable parameter; determining a distance for each of aplurality of candidate items based on the particular value of theparameter associated with the baseline position and parameters for eachof the plurality of items; wherein the next item is selected based onthe distances and the target value.
 9. The method of claim 8, whereinthe next item is selected based on a distance matching the target value.10. The method of claim 8, wherein the next item is selected based on adistance being within a threshold distance of the target value.
 11. Themethod of claim 10, wherein the next item is randomly selected from aset of items within the threshold distance of the target value.
 12. Themethod of claim 8, wherein the distance for each of the plurality ofcandidate items is based on a plurality of different parameters.
 13. Themethod of claim 1, wherein the parameter is a genre parameter.
 14. Themethod of claim 1, wherein the user-controllable parameter is receivedvia a slide bar presented to the user via a graphical user interface.15. The method of claim 1, wherein the item is music content, videocontent, image content, or literature content.
 16. The method of claim1, wherein the user interface comprises a graphical user interface,wherein the method further comprises: displaying the graphical userinterface that shows a range associated with the first parameter and thesecond parameter; and receiving the particular value of the firstparameter and the particular value of the second parameter via thegraphical user interface.
 17. The method of claim 16, wherein thegraphical user interface comprises a two-dimensional map illustratingthe first parameter on a first axis and the second parameter on a secondaxis.
 18. The method of claim 17, wherein the first parameter is a genreparameter and wherein the second parameter is a time period parameter.19. The method of claim 18, wherein the time period parameter includes aplurality of discrete time periods.
 20. The method of claim 16, furthercomprising displaying a circle on the graphical user interfaceindicative of the particular value of the first parameter and theparticular value of the second parameter.
 21. The method of claim 1,wherein said selecting and transmitting is repeated thereby generating alist of selected items.
 22. The method of claim 1, wherein the item is aweb page, a post, or an article.
 23. The method of claim 1, wherein dataassociated with the next item is pushed across the computer network tothe user without user action.
 24. A computer-implemented system,comprising: one or more data processors; one or more computer-readablemediums encoded with instructions for commanding the one or more dataprocessors to execute steps comprising: accessing an item pool, whereinthe item pool contains data associated with a plurality of items,wherein each item is associated with a first parameter and a secondparameter; identifying a baseline position, wherein the baselineposition is associated with a particular value of the first parameterand a particular value of the second parameter; receiving auser-controllable parameter via a user interface, wherein theuser-controllable parameter indicates a user preference for a nextitem's Euclidean distance from the baseline position, wherein one ormore thresholds are determined based on the user-controllable parameter,the one or more thresholds being proportional to an adventurousness ofthe user as indicated by the user-controllable parameter; selecting thenext item based on the baseline position and the user-controllableparameter, wherein selecting the next item comprises: determining aEuclidean distance between the baseline position items in the item poolbased on the first parameter, the second parameter, and the baselineposition, wherein determining a particular Euclidean distance for aparticular item comprises: determining a first parameter distance basedon the baseline's first parameter and the particular item's firstparameter, determining a second parameter distance based on thebaseline's second parameter and the particular item's second parameter,and determining the Euclidean distance for the particular item based onthe first parameter distance and the second parameter distance; whereinthe next item is selected based on that item's Euclidean distance fromthe baseline position items being less than a predetermined distancefrom a particular one of the one or more thresholds; and transmittingdata associated with the next item across a computer network.
 25. Thesystem of claim 24, wherein the baseline position is based on a currentor recent item that has been provided via the computer network.
 26. Thesystem of claim 24, wherein the baseline position is based on a userpreference.
 27. The system of claim 26, wherein the user preference isexplicitly entered by a user.
 28. A non-transitory computer-readablemedium encoded with instructions for commanding one or more dataprocessors to execute steps, comprising: accessing an item pool, whereinthe item pool contains data associated with a plurality of items,wherein each item is associated with a first parameter and a secondparameter; identifying a baseline position, wherein the baselineposition is associated with a particular value of the first parameterand a particular value of the second parameter; receiving auser-controllable parameter via a user interface, wherein theuser-controllable parameter indicates a user preference for a nextitem's Euclidean distance from the baseline position, wherein one ormore thresholds are determined based on the user-controllable parameter,the threshold being proportional to an adventurousness of the user asindicated by the user-controllable parameter; selecting the next itembased on the baseline position and the user-controllable parameter,wherein selecting the next item comprises: determining a Euclideandistance between the baseline position items in the item pool based onthe first parameter, the second parameter, and the baseline position,wherein determining a particular Euclidean distance for a particularitem comprises: determining a first parameter distance based on thebaseline's first parameter and the particular item's first parameter,determining a second parameter distance based on the baseline's secondparameter and the particular item's second parameter, and determiningthe Euclidean distance for the particular item based on the firstparameter distance and the second parameter distance; wherein the nextitem is selected based on that item's Euclidean distance from thebaseline position items being less than a predetermined distance from aparticular one of the one or more thresholds; and transmitting dataassociated with the next item across a computer network.
 29. Acomputer-implemented method of playing audio content based on receivedcommands, wherein a microphone provides an input to a systemimplementing the method, comprising: accessing an audio content pool,wherein the audio content pool contains data associated with a pluralityof items, wherein each item is associated with a first parameter and asecond parameter; identifying a baseline position, wherein the baselineposition is associated with a particular value of the first parameterand a particular value of the second parameter; receiving a secondcommand, wherein the second command is a more adventurous/lessadventurous command indicating a user preference for a next item'sEuclidean distance from the baseline position, wherein one or morethresholds are determined based on the second command, the one or morethresholds being proportional to an adventurousness of the user asindicated by the second command; selecting the next item, whereinselecting the next item comprises: determining a Euclidean distancebetween the baseline position and items in the item pool based on thefirst parameter, the second parameter, and the baseline position,wherein determining a particular Euclidean distance for a particularitem comprises: determining a first parameter distance based on thebaseline's first parameter and the particular item's first parameter,determining a second parameter distance based on the baseline's secondparameter and the particular item's second parameter, and determiningthe Euclidean distance for the particular item based on the firstparameter distance and the second parameter distance; wherein the nextitem is selected based on that item's Euclidean distance from thebaseline position items being less than a predetermined distance from aparticular one of the one or more thresholds; and transmitting dataassociated with the next item across a computer network.
 30. The methodof claim 29, further comprising playing audio content associated withthe next item, wherein a speaker provides an output from a systemimplementing the method.
 31. The method of claim 29, further comprisingreceiving a first command prior to receiving the more adventurous/lessadventurous command, wherein a microphone provides an input to a systemimplementing the method.
 32. The method of claim 29, further comprising,receiving a third command, wherein the third command is another moreadventurous/less adventurous command, wherein a next audio content itemplayed is selected based on the third command, wherein the microphoneprovides an input to a system implementing the method.
 33. Acomputer-implemented method of playing audio content based on receivedcommands, wherein a microphone provides an input to a systemimplementing the method, comprising: receiving a first, systemactivation command from a user; accessing an audio content pool, whereinthe audio content pool contains data associated with a plurality ofitems, wherein each item is associated with a first parameter and asecond parameter; identifying a baseline position associated with theuser, wherein the baseline position is associated with a particularvalue of the first parameter and a particular value of the secondparameter; receiving a second command, wherein the second command is amore adventurous/less adventurous command indicating a user preferencefor a next item's Euclidean distance from the baseline position, whereinone or more thresholds are determined based on the second command, thethreshold being proportional to an adventurousness of the user asindicated by the second command; selecting the next item, whereinselecting the next item comprises: determining a Euclidean distancebetween the baseline position and items in the item pool based on thefirst parameter, the second parameter, and the baseline position,wherein determining a particular Euclidean distance for a particularitem comprises: determining a first parameter distance based on thebaseline's first parameter and the particular item's first parameter,determining a second parameter distance based on the baseline's secondparameter and the particular item's second parameter, and determiningthe Euclidean distance for the particular item based on the firstparameter distance and the second parameter distance; wherein the nextitem is selected based on that item's Euclidean distance from thebaseline position items being less than a predetermined distance from aparticular one of the one or more thresholds; and transmitting dataassociated with the next item across a computer network.